package com.example.flashsales.service;

import com.example.flashsales.entity.dto.GoodsDto;
import com.example.flashsales.entity.vo.GoodsTypeVo;
import com.example.flashsales.entity.vo.GoodsVo;

import java.util.List;

public interface GoodsService {

    //用户查看所有商品，去商品表查看
    List<GoodsVo> viewAllGoods(int num,int page);

    //按类别查看商品（直接去商品表里面查询）
    List<GoodsVo> viewGoodsByType(GoodsDto goodsDto,int num,int page);

    //按商品名称查看商品（模糊查询，可输入一个字找到与之有关的集合，直接去商品表里面查询）
    List<GoodsVo> viewGoodsByName(String name,int num,int page);

    //查看商品的具体信息
    GoodsVo viewGoodsMessage(long id);

    //添加商品
    boolean addGoods(GoodsDto goods);

    //修改商品描述
    boolean updateDetails(String details,long goodsId);

    //修改商品信息
    boolean updateGoodsMessage(GoodsDto goods);

    //删除商品
    String deleteGoods(long goodsId);

    //根据细节id获取细节
    String getDetailsByDetailsId(long detailsId);

    //根据类型id获取类型
    String getTypeByTypeId(int typeId);

    //查看所有类型
    List<GoodsTypeVo> viewAllType();

    //删除类型
    boolean deleteType(int typeId);

    //增加类型
    boolean addType(String type);

    //修改类型
    boolean updateType(int typeId,String type);


    //查看所有商品的数量
    long viewAllGoodsNum();

    //按名称查看数量
    long viewNumByName(String name);

    //按类别查看数量
    long viewNumByType(Integer typeId);
}
